package com.engine.kq.entity;

import java.util.List;
import java.util.Map;

/***
 * 工作时间
 */
public class WorkTimeEntity {
  private String groupId;//所属考勤组
  private String groupName;//所属考勤组
  private String kqType;//考勤类型
  private String serialId;//班次
  private Map<String,Object> shiftRuleInfo;//班次人性化规则
  private List<TimeScopeEntity> signTime;//允许打卡时间
  private List<TimeScopeEntity> workTime;//工作时间
  private List<TimeScopeEntity> restTime;//休息时间
  private int workMins;//工作时长
  private String isAcross;//是否跨天
  private String signstart;//自由工时开始打卡时间
  private boolean isExclude;//无需考勤人员
  private String calmethod;//自由班制计算方式
  private int signoutOnlyoff;

  private List<String> halfWorkTime;//半天

  private List<int[]> halfWorkIndex;

    /**
     * 是否是非工作日 1表示是非工作日班次
     */
    private int nonWorkShift;
    /**
     * 当前日期类型
     * playday 休息日
     * work 工作日
     * holiday 节假日
     */
    private String dayType;

    /**
     * 应出勤折算天数
     */
    private String convertAttendDay = "";

  public String getGroupId() {
    return groupId;
  }

  public void setGroupId(String groupId) {
    this.groupId = groupId;
  }

  public String getGroupName() {
    return groupName;
  }

  public void setGroupName(String groupName) {
    this.groupName = groupName;
  }

  public String getKQType() {
    return kqType;
  }

  public void setKQType(String kqType) {
    this.kqType = kqType;
  }

  public String getSerialId() {
    return serialId;
  }

  public void setSerialId(String serialId) {
    this.serialId = serialId;
  }

  public Map<String, Object> getShiftRuleInfo() {
    return shiftRuleInfo;
  }

  public void setShiftRuleInfo(Map<String, Object> shiftRuleInfo) {
    this.shiftRuleInfo = shiftRuleInfo;
  }

  public List<TimeScopeEntity> getWorkTime() {
    return workTime;
  }

  public void setWorkTime(List<TimeScopeEntity> workTime) {
    this.workTime = workTime;
  }

  public List<TimeScopeEntity> getRestTime() {
    return restTime;
  }

  public void setRestTime(List<TimeScopeEntity> restTime) {
    this.restTime = restTime;
  }

  public int getWorkMins() {
    return workMins;
  }

  public void setWorkMins(int workMins) {
    this.workMins = workMins;
  }

  public String getIsAcross() {
    return isAcross;
  }

  public void setIsAcross(String isAcross) {
    this.isAcross = isAcross;
  }

  public String getSignStart() {
    return signstart;
  }

  public void setSignStart(String signstart) {
    this.signstart = signstart;
  }

  public List<TimeScopeEntity> getSignTime() {
    return signTime;
  }

  public void setSignTime(List<TimeScopeEntity> signTime) {
    this.signTime = signTime;
  }

  public boolean getIsExclude() {
    return isExclude;
  }

  public void setIsExclude(boolean isExclude) {
    this.isExclude = isExclude;
  }

  public String getCalmethod() {
    return calmethod;
  }

  public void setCalmethod(String calmethod) {
    this.calmethod = calmethod;
  }

    public int getNonWorkShift() {
        return nonWorkShift;
    }

    public void setNonWorkShift(int restShift) {
        this.nonWorkShift = restShift;
    }

    public String getDayType() {
        return dayType;
    }

    public void setDayType(String dayType) {
        this.dayType = dayType;
    }

    public String getConvertAttendDay() {
        return convertAttendDay;
    }

    public void setConvertAttendDay(String convertAttendDay) {
        this.convertAttendDay = convertAttendDay;
    }

  public int getSignoutOnlyoff() {
    return signoutOnlyoff;
  }

  public void setSignoutOnlyoff(int signoutOnlyoff) {
    this.signoutOnlyoff = signoutOnlyoff;
  }

  public List<String> getHalfWorkTime() {
    return halfWorkTime;
  }

  public void setHalfWorkTime(List<String> halfWorkTime) {
    this.halfWorkTime = halfWorkTime;
  }

  public List<int[]> getHalfWorkIndex() {
    return halfWorkIndex;
  }

  public void setHalfWorkIndex(List<int[]> halfWorkIndex) {
    this.halfWorkIndex = halfWorkIndex;
  }

  @Override
  public String toString() {
    return "WorkTimeEntity{" +
            "groupId='" + groupId + '\'' +
            ", groupName='" + groupName + '\'' +
            ", kqType='" + kqType + '\'' +
            ", serialId='" + serialId + '\'' +
            ", shiftRuleInfo=" + shiftRuleInfo +
            ", signTime=" + signTime +
            ", workTime=" + workTime +
            ", restTime=" + restTime +
            ", workMins=" + workMins +
            ", isAcross='" + isAcross + '\'' +
            ", signstart='" + signstart + '\'' +
            ", isExclude=" + isExclude +
            ", calmethod='" + calmethod + '\'' +
            ", signoutOnlyoff=" + signoutOnlyoff +
            ", nonWorkShift=" + nonWorkShift +
            ", dayType='" + dayType + '\'' +
            ", convertAttendDay='" + convertAttendDay + '\'' +
            '}';
  }
}
